package com.achievement.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 科研成果-学术论文-论文列表
 * @TableName biz_paper
 */
@TableName(value ="biz_paper")
@Data
@EqualsAndHashCode(callSuper = false)
public class PaperEntity extends CommonEntity implements Serializable {
    /**
     * ID
     */
    @TableId
    private String id;

    /**
     * 名称
     */
    private String name;

    /**
     * 英文名称
     */
    private String englishName;

    /**
     * 论文类型
     */
    private String modeId;

    /**
     * 发表/出版时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishDate;

    /**
     * 发表/刊物论文集
     */
    private String magazineName;

    /**
     * 刊物级别
     */
    private String paperLevelId;

    /**
     * 收录类别
     */
    private String embodyTypeId;

    /**
     * 科学分区
     */
    private String sciPartition;

    /**
     * 所属单位ID
     */
    private String unitId;

    /**
     * 教育部统计归属--学科类别id
     */
    private String subjectClassId;

    /**
     * 一级学科id
     */
    private String subjectId;

    /**
     * 论文来源（录入、知网、SCI、EI、ISTP、SSCI、CSSCI）
     */
    private String projectSourceId;

    /**
     * 发表范围id
     */
    private String publishRangeId;

    /**
     * 字数
     */
    private BigDecimal wordNumber;

    /**
     * 学校署名
     */
    private String schoolSign;

    /**
     * 是否翻译
     */
    private String isTranslated;

    /**
     * 卷期页
     */
    private String juanQiYe;

    /**
     * DOI
     */
    private String doi;

    /**
     * 页面空间
     */
    private String pageSpace;

    /**
     * ISSN号
     */
    private String issn;

    /**
     * CN号
     */
    private String cn;

    /**
     * 发布单位
     */
    private String publishUnit;

    /**
     * 会议名称
     */
    private String meetingName;

    /**
     * 会议地址
     */
    private String meetingAddress;

    /**
     * 会议日期
     */
    private String meetingDate;

    /**
     * 文件ID
     */
    private String fileIds;

    /**
     * 笔记
     */
    private String note;

    /**
     * 源id
     */
    private String sourceId;

    /**
     * 关键词
     */
    private String keywords;

    /**
     * 论文摘要
     */
    private String paperAbstract;

    /**
     *
     */
    private String claimId;

    /**
     * URL
     */
    private String url;

    /**
     * 网络论文id
     */
    private String netPaperId;

    /**
     * 通讯作者id
     */
    private String txAuthorId;

    /**
     * 通讯作者名称
     */
    private String txAuthorName;

    /**
     * 第一作者id
     */
    private String firstAuthorId;

    /**
     * 第一作者名称
     */
    private String firstAuthorName;

    /**
     * 第一作者账号
     */
    private String firstAuthorAccount;

    /**
     * 第一作者头衔id
     */
    private String firstAuthorTitleId;

    /**
     * 第一作者
     */
    private String firstAuthorSexid;

    /**
     * 第一作者教育等级id
     */
    private String firstAuthorEduLevelId;

    /**
     * 第一作者学位id
     */
    private String firstAuthorEduDegreeId;

    /**
     * 部门id
     */
    private String divisionId;

    /**
     * 作者数量
     */
    private Integer authorNumber;

    /**
     * 审核状态
     */
    private String checkstatus;

    /**
     * 审核时间
     */
    private String checkdate;

    /**
     * 审核人
     */
    private String checker;

    /**
     * 论文索引编号
     */
    private String paperIndexNum;

    /**
     * 影响因子
     */
    private BigDecimal factor;

    /**
     * 是否归属自然指数期刊
     */
    private String isNatureIndexMagazine;

    /**
     *
     */
    private Integer quotenum;

    /**
     * 编辑编号日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date editquotenumdate;

    /**
     *
     */
    private String authorpids;

    /**
     *
     */
    private String authorunitids;

    /**
     * 完整数据状态
     */
    private String completedatastatus;

    /**
     *
     */
    private String importPersonid;

    private String processInstanceId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}